1. Field
The present invention relates to a packet forwarding method, device, and computer readable medium thereof, which temporarily stores packets transmitted from a plurality of transmission source terminals into a common buffer, reads out the packets from the common buffer at a given band velocity, and transfers the readout packets to other terminals.
2. Description of the Related Art
The packet forwarding devices as just mentioned are located in a network in which packet data flows. FIG. 1 is an internal block diagram showing a conventional packet forwarding device. The packet forwarding device 10 is constituted by a multiplex/separator 11, a common buffer 12, an input packet counter 13, a band control unit 14, a write control unit 15, and a read control unit 16.
A number of packets, which have been transmitted from user terminals 20-1 to 20-N, are multiplexed by the multiplex/separator 11 configuring the packet forwarding device 10. Then, the multiplexed packets are written into the common buffer 12. When the packets are written into the common buffer 12, the number of input packets is counted for each of the user terminals 20-1 to 20-N by the input packet counter 13. Then, the band control unit 14 receives its count value and controls the write band so as to inhibit the writing operation at a rate in excess of a contract rate contracted for each user in order to keep fairness of the service for the users. Subsequently, the write control unit 15 controls the writing operation of the packet into the common buffer 12 within the controlled band.
The packet having been transmitted at a rate in excess of a predetermined writing rate is discarded without being written into the common buffer 12. The read control unit 16 controls the operation of reading a packet at a predetermined band velocity from the common buffer 12. The packet read out from the common buffer 12 is transmitted to the IP network.
FIG. 2 is a model diagram showing a congestion occurring in one of the routers in the IP network. Usually, a number of routers (six routers 30-1 to 30-6 in this example) are located in an IP network 30. When a congestion occurs in one (the router 30-3 in this example) of the routers in the IP network 30, a packet transmitted from the packet forwarding device 10 to the IP network 30 is discarded by the IP network router 30-3 suffering from the congestion. As a result, the packet does not reach an opposite device (server 40 in the example shown in FIG. 2), which should receive the packet if no congestion occurs. Then, the opposite device (server 40) detects that the packet has been discarded in the middle of the line by the TCP protocol, and transmits a re-transmission request packet to the user terminal of the transmission source. The re-transmission request packet passes through the packet forwarding device 10 as shown in FIG. 1, and is transmitted to the user terminal of the transmission source. Upon receipt of the re-transmission request packet, the user terminal of the transmission source greatly decreases the data transmission rate in order to settle the congestion down. When the congestion settles down and no packet is discarded, the opposite device (server 40) stops the transmission of the re-transmission request packet. The user terminal of the transmission source knows the removal of the congestion when it receives no re-transmission request packet, and resumes the transmission of the packet. When the packet transmission is resumed, the data transmission rate is gradually returned to the original one according to a slow start algorithm.
FIG. 3 shows a graph showing a variation of the data transmission rate at the user terminal with time. At the start of transmission, the transmission rate acceleratedly increases according to the slow start algorithm as shown in a segment “a”. When reaching a certain level of the data transmission rate, the data transmission rate linearly increases as shown in a segment “b”. Assume that a congestion occurs in a certain router in the middle of the segment “b”. At this time, the user terminal does not yet sense the occurrence of the congestion. Accordingly, the user terminal continues the linear increase of the data transmission rate. After a short while, the user terminal receives the re-transmission request packet and knows the congestion occurrence. Then, the user terminal sharply decreases the transmission rate as shown in a segment “c”. The transmission rate is kept low in a segment “d” where the congestion continues. Thereafter the user terminal receives no re-transmission request packet and knows that the congestion has settled down. At this time, as in a segment “e”, the user terminal acceleratedly increases the transmission rate again according to the slow start algorithm, and linearly increases the transmission rate as in a segment “f”.
As shown in FIG. 3, a time lag is present between a time point where the congestion occurs and a time point where the user terminal of the packet transmission source receives the re-transmission request packet. During a period that the user terminal does not yet sense (detect) the congestion occurrence, the transmission rate continuously increases. The continuous increase of the transmission rate forms one of factors to delay the settling down of the congestion.
JP-A-2002-237841 describes its object as “to easily and equally re-allocate an excess band while guaranteeing a packet transfer rate equal to or more than a minimum guarantee rate at the time of increase in traffic, in a packet communication network for which an agreement is made on the minimum guarantee rate and a maximum limiting rate for each service”. In the patent document, however, there is no description about the technology for swiftly settling down the congestion once occurred.